package org.bsplus.rpc;

import java.util.List;

import org.bsplus.rpc.dto.IssueDTO;
import org.bsplus.rpc.dto.IssueSeverityDTO;
import org.bsplus.rpc.dto.IssueTypeDTO;

import com.google.gwt.user.client.rpc.AsyncCallback;
import org.bsplus.rpc.dto.IssueListItemDTO;
import org.bsplus.util.pagination.PageLoadRequest;
import org.bsplus.util.pagination.ResultPage;

public interface IssueRPCServiceAsync
{
	void getAllIssues(AsyncCallback<List<IssueDTO>> asyncCallback);

	void getAllIssueTypes(AsyncCallback<List<IssueTypeDTO>> asyncCallback);

	void getAllIssueSeverities(
			AsyncCallback<List<IssueSeverityDTO>> asyncCallback);

	void createIssue(IssueDTO issue, AsyncCallback<String> asyncCallback);
       
        void listIssues(PageLoadRequest pageLoadRequest, AsyncCallback<ResultPage<IssueListItemDTO>> asyncCallback);
}
